There is no thumb rule for maximum memory a good
program can consume in the system but based on your experience can you please
let me know at least the range ?
I came across with a situation that there is program
which is fetching about 2 million records of total size around 190MB. But system
could not allocate this much memory so the program aborted. I suggested them to
process only 50,000 records at a time which worked fine. But I want to know if
my suggestion was good enough. Can't the system with below configuration
allocate 190MB for a program. There was no much load on the system at that time.
Our configuration: SAP 46c on Win 2K RAM: 4GB Virtual memory: 8GB.
Do you guys know what are all the things to be done
to enable ZERO MEMORY MANAGEMENT in 46C ?
You can get an overall estimate by looking in SM04 and switching on the MB
size beside the users so so you will see how much memory the current
transactions are using. Take into consideration that there is a big difference
between dialog transactions (with several steps) and mass processing or lists.
The latter two consume usually a lot more memory.
190 MB is not much, our usercontextes can become as big as 2 GB per user
(which is the limit on 32bit platforms) several times a day. This is not
uncommon on systems that have a lot of data in them, however, it's impossible to
give a general advise here since this is VERY different on what applications you
are running, how many systems are connected (BW,
CRM, APO etc.) and so on.
Start with note 88416, there is explained in depth what it is and how it
works.
For Windows you also should look in note 129813 which will describe the
rebasing process since M$ has the start addresses of their DLLs loaded into the
PXA. This is one reason why we switched to a non M$ operating system because
after each IE patch (in fact after each patch) you need to check if the new DLLs
will fragment your PXA/shared memory.
Note 546361 can also be helpfull. If you have "hangs" in the system read note
530871 which will describe the problem (and finally recommend upgrading to
Windows 2003).
What is Zero Administration Memory Management?
The zero administration memory management on Windows requires no manual
settings and adapts itself dynamically to the memory requirements of the users.
Even hardware changes (for example memory enhancement) are detected and the
parameters set correspondingly.
The basis for zero administration memory management on Windows is the
dynamically self-extending extended memory. An "infinitely" large memory
resource is made available with this method. The extended memory is initially
set to the size of the profile parameter PHYS_MEMSIZE ([PM]). If more memory is
required by the user, the extended memory extends itself in steps of "[PM] / 2"
up to the set limit of the profile parameter em/max_size_MB or until the address
space in the Windows pagefile is used up.
By setting the standard value for em/max_size_MB to 20000 MB (100000 MB for
64 bit), it is the size of the Windows pagefile that finally represents the
actual limit for the extension of the extended memory. The profile parameter
PHYS_MEMSIZE determines how much of the entire main memory is to be used by SAP.
The parameter is entered during installation in accordance with the entry. The
standard valuefor PHYS_MEMSIZE is the size of the main memory [HS]. Even with
zero administration management, the Windows system should be configured in such
a way that it keeps the file cache to a minimum size. Therefore, make sure that
indicator "Maximize Throughput for Network Application" is activated under
'Control Panel' -> 'Network' -> 'Services' -> 'Server' -> 'Properties'.